package com.seari.custody.service;

import com.seari.custody.bean.*;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface MeetingService {

    /**
     * @param id 会议管理——会议id
     * @return 会议管理-会议信息
     */
    Meeting selectCzHrtableById(String id, String userNumber);

    // 查询会议
    Map<String, Object> getMeetingDataByYearAndWeek(String userNumber, String year, String week);

    Map<String, Object> getMeetingsByMonth(String userNumber, Date month);


    //修改会议  Map<String, Object>
    Integer updateMeeting(Meeting params);


    Integer deleteMeeting(String id, String userNumber);

    //批量删除
    Integer deleteMeetingIds(String[] ids, String userNumber);

    /**
     * 校验线下会议时间地点安排
     *
     * @param date
     * @return
     */
    Map<String, List<OAMeetingInfo>> getOfflineMeetings(String date);


    String weChatMessagePush(String message);

    /**
     * 上传会议视频 解析出音频并转文字
     *
     * @return
     */
    void uploadMeetingVideo(UploadVideoVO uploadVideoVO);

    List<MeetingListDTO> list(MeetingsReq meetingsReq);

    HashMap<String, Object> qryDetailByMeetingId(String meetingId);

    String addMeeting(Meeting met);

    void refreshMeetingList();

    /**
     * 根据用户查询当日会议
     *
     * @param userNumber
     * @return
     */
    List<Meeting> todayMeetings(String userNumber);

    /**
     * 线下外部会议地址like
     *
     * @param key
     * @return
     */
    List<OuterSite> offlineOuterSites(String key);

    Meeting qryOne(String meetingId);

    List<Meeting> qryMeetingIdByProjectId(String projectId);

    OpenMeeting openMeeting(String userNumber, String meetingId);

}
